function findXSum(nums, k, x) {
  const n = nums.length;
  const result = [];

  // 遍历所有长度为 k 的子数组
  for (let i = 0; i <= n - k; i++) {
    const subarray = nums.slice(i, i + k);
    // 统计子数组中各元素的出现次数
    const countMap = {};
    for (const num of subarray) {
      countMap[num] = (countMap[num] || 0) + 1;
    }
    // 提取不重复的元素，并按规则排序：先按次数降序，再按数值降序
    const sortedNums = Object.keys(countMap)
      .map(Number)
      .sort((a, b) => {
        if (countMap[b] !== countMap[a]) {
          return countMap[b] - countMap[a];
        } else {
          return b - a;
        }
      });
    // 选择前 x 个元素（如果不足 x 个则全部选择）
    const selected = sortedNums.slice(0, x);
    // 计算子数组中选中元素的总和
    let sum = 0;
    for (const num of subarray) {
      if (selected.includes(num)) {
        sum += num;
      }
    }
    result.push(sum);
  }

  return result;
}
